package scream.negocio;

import java.util.Collection;

import scream.dao.RolDAO;
import scream.excepcion.DAOExcepcion;
import scream.modelo.Rol;
import scream.dao.UsuarioDAO;
import scream.excepcion.LoginExcepcion;
import scream.modelo.Usuario;

public class SeguridadNegocioRol {
	public void insertarRol(String codigo, String nombre) throws DAOExcepcion {

		Rol modelo = new Rol();
		modelo.setcoRol(codigo);
		modelo.setnoRol(nombre);

		RolDAO dao = new RolDAO();
		dao.insertar(modelo);
	}

	public Rol findRol(String coRol) throws DAOExcepcion {
		Rol oRol = null;

		RolDAO oRolDAO = new RolDAO();
		try {
			oRol = oRolDAO.findcoRol(coRol);
		} catch (DAOExcepcion e) {
			System.out.println(e.getMessage());
		}
		return oRol;
	}
	
	public Collection<Rol> buscarRolesPorNombre(String nombre)
	throws DAOExcepcion {
		RolDAO dao = new RolDAO();
	return dao.buscarPorNombre(nombre);
	
}
	public Rol obtenerRol(String rolNombre) throws DAOExcepcion {
		RolDAO dao = new RolDAO();
		return dao.obtener(rolNombre);
	}

	public void eliminarRol(String rolNombre) throws DAOExcepcion {
		RolDAO dao = new RolDAO();
		dao.eliminar(rolNombre);
	}
	
	public void actualizarRol(String nombre, String desc) throws DAOExcepcion {
		Rol modelo = new Rol();
		modelo.setcoRol(nombre);
		modelo.setnoRol(desc);

		RolDAO dao = new RolDAO();
		dao.actualizar(modelo);
	}
	
	public Collection<Rol> listarRoles() throws DAOExcepcion {
		RolDAO dao = new RolDAO();
		return dao.listar();
	}
	
	public Usuario validarUsuario(String idUsuario, String clave)
	throws DAOExcepcion, LoginExcepcion {
		UsuarioDAO dao = new UsuarioDAO();
		return dao.login(idUsuario, clave);
	}
	
	public Collection<Rol> listarRol() throws DAOExcepcion {
		Collection<Rol> oRol = null;

		RolDAO oRolDAO = new RolDAO();
		try {
			oRol = oRolDAO.listar();
		} catch (DAOExcepcion e) {
			System.out.println(e.getMessage());
		}
		return oRol;
	}
}
